Skip to content

docs(discussions): adopt the round template in the AI model provenance discussion - #2487

Merged
josecelano merged 6 commits into
torrust:developfrom
josecelano:2003-ai-model-provenance-discussion-template
Oct 8, 2026
Merged

josecelano merged 6 commits into
torrust:developfrom
josecelano:2003-ai-model-provenance-discussion-template

Conversation

@josecelano

@josecelano josecelano commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Summary

The opening author's round that moves the AI model provenance discussion (opened in #2467) onto the discussion template, as docs/discussions/AGENTS.md now requires for a still-open discussion opened before rounds. Related to #2003.

Changes

  • Metadata table follows the template: Status "Open for rounds", Opened by, Decision owner (@da2ce7, assignee of EPIC Overhaul: Automation Tools and AI Agent Guardrails #2003), and an AI assistance row. The Participants and Reviewer rows are gone.
  • All existing sections, including the Draft Conclusions and the Follow-up Work, become the Context, unchanged apart from heading level.
  • The nine open questions become topics Q1 to Q9. Their words are unchanged (only the first letter is capitalized), each topic gains the template's "Added by Jose Celano." attribution line, and each has no positions yet. Jose will add his positions in a later round.
  • The Outcome placeholder now reads as the template's, "Pending: no decision recorded.", instead of "Pending review."; no decision is recorded.
  • @da2ce7's draft position (docs(discussions): add the AI model provenance discussion #2467 (comment)) is linked from the Context, not copied, with its Part C mapped to the topics: C1 (Q1), C2 (Q2), C3 (Q3, Q4), C4 (Q5, Q6), C5 (Q7), C6 (Q8), C7 (Q9). Under the round rules, it enters the discussion when he adds it in his own round.

Verification

  • A script compared each topic with the old open question, word for word after removing the added "Added by Jose Celano." line: all nine match. It also checked that the Context equals the old sections apart from heading level.
  • No other document links to anchors in this discussion.
  • linter markdown, linter cspell, linter lychee, and frontmatter-validator exit 0; the pre-commit gate and pre-push suite passed.

Copilot AI balanced review requested due to automatic review settings October 8, 2026 10:04
@josecelano josecelano self-assigned this Oct 8, 2026
@josecelano
josecelano requested a review from da2ce7 October 8, 2026 10:16

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Copilot review overview

2 open findings
What changed in this PR

Adopts the round-based discussion template for the “AI Model Provenance in Commits” discussion by restructuring existing content into a Context section and converting the original open questions into template-compliant Topics (Q1–Q9).

Changes:

  • Updated the metadata table to match the discussion template (status/roles/AI assistance) and removed Participants/Reviewer rows.
  • Moved prior sections under Context (heading-level changes only).
  • Converted the prior “Open Questions” list into Topics Q1–Q9 with empty Positions sections.
File Description
docs/​discussions/​2003-overhaul-guardrails-and-automation/​20261007-ai-model-provenance-in-commits/​README.md Restructures the discussion into the round template format (metadata/context/topics/outcome).

🧠 Review effort: Lite


Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.

josecelano added a commit to josecelano/torrust-tracker that referenced this pull request Oct 8, 2026
Records Copilot review 5455109937 (F1, F2) with their fixes, verification, and reply URLs.
josecelano added a commit to josecelano/torrust-tracker that referenced this pull request Oct 8, 2026
…rust#2487 audit

Same defect that da2ce7 raised on the PR torrust#2485 audit (review-finding:pr-2485-f2): the Category item wrapped after documentation instead of after correctness as in the template's verbatim block.
da2ce7
da2ce7 previously approved these changes Oct 8, 2026

@da2ce7 da2ce7 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed at 1268899a126bb4b971b9374727dce390fcf1690b (round 1). Recomputed from the bytes at this head, against develop at 40dae98a7.

The opening author's round moving the AI model provenance discussion, opened in PR #2467 (merged as c2ebcfa3f) before rounds existed, onto the template, as docs/discussions/AGENTS.md:93-95 allows. Two files: the README and a new audit record.

Words unchanged. A script joined the hard-wrapped base items (:148-167) and the head topics (:186-261), removed "Added by Jose Celano." and compared them word for word. All nine match apart from the first letter's case; Q4 begins with a code span, so nothing changes there. Each bold lead-in is now its topic's title. The eight former sections at :43-180 equal the base :26-144 and :169-186 once ## becomes ###. Nothing at the head links #open-questions-for-the-reviewer.

Metadata table (:19-27). The rows and their order are those of DISCUSSION.md:16-24. The decision owner da2ce7 is the epic-owner: at EPIC.md:8. The AI assistance row is the old Participants row's assistant clause, unchanged, and "Opened by" carries its human clause, so no fact is lost.

Owner's position (:38-41). It is linked, not copied, as AGENTS.md:52-54 requires. The mapping C1→Q1, C2→Q2, C3→Q3/Q4, C4→Q5/Q6, C5→Q7, C6→Q8 and C7→Q9 matches the question numbers in Part C of the comment.

Topics (:182-265). Q1 to Q9 are in order. Each topic ends "Added by Jose Celano." and has a #### Positions heading with "No positions yet.". The topic anchors are unique; the positions-N repeats come from the template. #topics and the four relative links resolve. The Outcome changed: see F1.

Frontmatter and tree. Both added related-artifacts paths exist. --name-status shows one modified file and one added file. The cspell line and project-words.txt are unchanged.

Audit record. The Status Values block (:23-38) and the Completion Rules block are byte-identical to the template's; Ownership differs only where its placeholder is filled with N/A. Rows F1 and F2 match Copilot review 5455109937:

  • severities Medium→Minor (inferred) and Low→Suggestion (inferred), as in the PR #2461 audit;
  • comments 4217731437 and 4217731528, with replies 4217755116 and 4217755375 on their own threads;
  • both threads RESOLVED.

The Processing Log runs 10:21 then 10:23, before the 10:24:44Z commit; the Copilot timeout warning is recorded, with no row. Fix 1: :34-36 now names the added attribution, and the PR body says the comparison removed it. Fix 2: :31 links PR #2467 (external, reported).

Hygiene. There are five Conventional commits with author = committer, at 10:04:23Z, 10:22:23Z, 10:23:09Z, 10:24:44Z and 10:34:46Z. The fifth, 1268899a1, only rewraps the audit's Category item (:33-34) to the template's line break, the same fix as F2 on PR #2485; the README is unchanged since fe10c6a65. None has a trailer or an issue tag (the discussion has no issue of its own); each body is true to its diff. The PR body says "Related to #2003"; its linter and validator results are reported.

Findings: F1 (Minor, non-blocking, inline).

Checked, no finding:

  • "assignee of EPIC #2003" names the same person as EPIC.md:8, though the template's word is "owner of".
  • "Added by {Name}" without the login follows DISCUSSION.md:48.
  • "No positions yet." is harmless.
  • The PR title has no issue tag.
  • The PR body's Changes list omits the audit record.
  • PR #2486 still links the removed anchor; that is sequencing.

Checks

On the loop's compute hub at this head, base develop 40dae98a7 (receipt server-gates-krkavec-185): pre-commit profile gate exit 0 (77 s); linter markdown, linter cspell, linter lychee exit 0; frontmatter-validator --all: 19 errors / 4 warnings at this head and 19 / 4 at develop 40dae98a7 re-measured, so no new frontmatter finding; validate-audit-record.py --pr-number 2487 over the live review comments: 2 rows, 2 log entries, 0 failures. GitHub checks at this head at posting time: "Docs Lint: completed/success". At posting, develop is 40dae98a7.

@da2ce7

da2ce7 commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

ACK 1268899 — nine topics equal the moved questions word for word, the Context sections equal the base apart from heading level, every link and anchor resolves, the audit record matches the capture at this head, and the audit record's Status Values block verbatim

@josecelano

josecelano commented Oct 8, 2026 •

Copy link
Copy Markdown
Member Author

Review 5455373856 (da2ce7, round 1), finding F1 [Minor], recorded in the audit as review-finding:pr-2487-f3 because F1 is already taken there: FIXED by editing the PR body. Its Changes list now says: The Outcome placeholder now reads as the template's, "Pending: no decision recorded.", instead of "Pending review."; no decision is recorded. The PR body becomes the merge commit message, so the change enters history. The placeholder is kept because adopting the template brings its placeholder with it (docs/discussions/AGENTS.md, Discussions Opened Before Rounds). The README is unchanged.

…e discussion

The opening author's round under the discussion round rules: the metadata table follows the template, the existing sections become the Context unchanged, and the nine open questions become topics Q1-Q9 with their words unchanged and no positions yet. Cameron's draft position on PR torrust#2467 is linked from the Context, not copied, with its Part C mapped to the topics.
…tion line

The Context said the open questions moved into Topics without changes to their words, but each topic also gained the template's "Added by" line.
Records Copilot review 5455109937 (F1, F2) with their fixes, verification, and reply URLs.
…rust#2487 audit

Same defect that da2ce7 raised on the PR torrust#2485 audit (review-finding:pr-2485-f2): the Category item wrapped after documentation instead of after correctness as in the template's verbatim block.
@josecelano
josecelano force-pushed the 2003-ai-model-provenance-discussion-template branch from 1268899 to c98d418 Compare October 8, 2026 12:17
@josecelano

Copy link
Copy Markdown
Member Author

@da2ce7 (Posted by an AI assistant at @josecelano's request.) Could you re-ACK the new head c98d4186a? Develop moved six commits after your review (including the #2485 merge), so the branch had to be rebased before the merge tool would accept it, and that moved the head off 1268899a1, the commit your ACK names.

What changed since your ACK:

  • The README is byte-identical to 1268899a1 (git diff 1268899a1 c98d4186a -- <README> is empty).
  • Your F1 is fixed by a PR-body line, as you suggested (resolution comment: docs(discussions): adopt the round template in the AI model provenance discussion #2487 (comment)). It is recorded in the audit as F3, because F1 is already taken there.
  • One new commit, docs(pr-reviews): record da2ce7 round-1 approval and F3 on #2487, adds 31 lines to the audit record only. The five earlier commits are unchanged (range-diff =).

After this merges, #2486 will need a rebase: its entries go under the existing Q1–Q9 and it adds Q10–Q11. I'll post the details there once this lands.

@josecelano
josecelano requested a review from da2ce7 October 8, 2026 12:22

@da2ce7 da2ce7 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed at c98d4186ad342f6b9f14a43e9e6cf1601c462f65 (round 1d, the rebase and the audit commit). Recomputed from the bytes at this head, against develop at 1d116fbfa.

The move. git range-diff 40dae98a7..1268899a1 1d116fbfa..c98d4186a shows the five reviewed commits as =: b0f587a1f, 27856354b, f70c40313, 149a1748e and f8f88b7e5, each equal in message and in patch-id. It also shows one new commit. git diff 1268899a1 c98d4186a -- <README> is empty, and the audit record is the only one of the PR's files that changed. The round-1 checks at 1268899a1 therefore carry over by citation: words unchanged, metadata table, link paragraph, Topics and anchors, frontmatter, and the verbatim Status Values block. The merge base is the develop tip, 1d116fbfa.

The audit commit (c98d4186a, +31 lines, audit record only).

  • ID collision (:48-50). Review 5455373856 (da2ce7, submitted as APPROVED at 10:45:52Z) raised F1, which collides with Copilot's F1, so the finding takes F3. That follows process-pr-review/SKILL.md:57-61: "assign the next audit-local F<ordinal> and record the reviewer's original ID in the detail entry". :98 records "Reviewer finding ID: F1".
  • Row (:56). Human, Minor (from the [Minor] bracket), documentation, ORIGINAL, FIXED, RESOLVED; the thread on README :269 is resolved.
  • Detail (:94-111). All ten fields are present:
    • source comment 4217949739 belongs to review 5455373856;
    • reply 4218767626 answers it on the same thread;
    • the resolution reference, issue comment 6059620329, states the PR-body fix, as :232-234 requires for a fix outside the tree.
  • Concern. It restates the round-1 finding faithfully.
  • Current-tree verification. It holds: the PR body's Changes list has the Outcome line, and README :269 still reads "Pending: no decision recorded.".
  • Processing Log (:119-125). Still in order: 10:21, 10:23, 10:34, 12:15. 10:34 is the time of the verbatim-fix commit; 12:15 follows the resolution comment (12:14:52Z) and the reply (12:14:53Z). The round-1 body does carry the "Checked, no finding" list that :50 cites.

Hygiene. Six Conventional commits, each with author = committer and with author and committer times in ascending order; no trailers, no issue tags, no banned token. --name-status against 1d116fbfa: README (M), audit record (A). The PR body differs from round 1c only by the Outcome line.

Findings: none. Round-1 F1 is fixed, recorded as audit F3.

Checked, no finding:

  • Review 5455373856 reads DISMISSED at the capture, because of the 12:17:10Z push; the record's APPROVED is its state as submitted.
  • The 12:15 entry also describes the rebase, the push (12:17:10Z) and the re-ACK request (12:17:29Z), which came after the commit; it is true at the capture.
  • "develop, which had moved six commits": rev-list --count 40dae98a7..1d116fbfa is 6.
  • The Concern cites one of the finding's three non-blocking reasons.

Checks

On the loop's compute hub at this head, base develop 1d116fbfa (receipt server-gates-krkavec-190): pre-commit profile gate exit 0 (77 s); linter markdown, linter cspell, linter lychee exit 0; frontmatter-validator --all: 19 errors / 4 warnings at this head and 19 / 4 at develop 1d116fbfa re-measured, so no new frontmatter finding; validate-audit-record.py --pr-number 2487 --base 1d116fbfa over the live review comments: 3 rows, 4 log entries, 0 failures. GitHub checks at this head at posting time: "Docs Lint: completed/success". At posting, develop is 1d116fbfa.

@da2ce7

da2ce7 commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

ACK c98d418 — the five reviewed commits carried patch-equal onto develop 1d116fb with the README byte-identical to 1268899, and the new audit commit records the round-1 finding as F3 with every id, reply and verification claim true against the capture

@josecelano

Copy link
Copy Markdown
Member Author

ACK c98d418

@josecelano
josecelano merged commit 2859381 into torrust:develop Oct 8, 2026
1 check passed
josecelano added a commit that referenced this pull request Oct 13, 2026
…enance in commits

876dbf1 docs(pr-reviews): [#2003] record the PR #2486 reply URLs (Cameron Garnham)
c087841 docs(pr-reviews): [#2003] record the AI-assistance statement as the fix for R4 (Cameron Garnham)
82d4c63 docs(discussions): [#2003] state on each of my entries that AI assistance is not disclosed (Cameron Garnham)
7e70da7 docs(pr-reviews): [#2003] record the maintainer's review of PR #2486 (Cameron Garnham)
ee8be1d docs(discussions): [#2003] restate my automation-dependency reason and note the B4 revision (Cameron Garnham)
30b6014 docs(pr-reviews): [#2003] add the PR #2486 review audit (Cameron Garnham)
a4bbce2 docs(discussions): [#2003] state the pinning premise of my project-automation entry as a concept (Cameron Garnham)
9036a06 docs(discussions): [#2003] add my round on AI model provenance in commits (Cameron Garnham)

Pull request description:

  ## Summary

  This is my contribution round on the AI Model Provenance in Commits discussion: I add the position I first posted as comment 6035743101 on PR #2467 as attributed entries under eleven topics, re-framed from the number labels A1–A5, B1–B6 and C1–C7 into semantic labels that can be cited, accepted, amended or rejected one by one. Each entry now also ends with the AI-assistance statement in the maintainer's wording (R4).

  The maintainer invited the round on PR #2467 and on issue #2473, whose rounds convention merged in PR #2481. The branch sits on `develop` at `285938179`, the merge of the opening author's adoption round, so my entries sit under his topics.

  Related to #2003

  ## Changes

  Two files.

  `docs/discussions/2003-overhaul-guardrails-and-automation/20261007-ai-model-provenance-in-commits/README.md`:

  - Under each of the opening author's topics Q1–Q9, my entry replaces the `No positions yet.` placeholder under `#### Positions`, matched by topic number.
  - Two topics of my own follow his Q9: Q10 What a provenance record can truthfully contain, and Q11 The shape of the rule, each with my entry.
  - Each entry ends with the link to the position's first posting on PR #2467.
  - `tokenizer` added to the file's cspell ignore line; it occurs in the position text and has no other use in the repository.

  `docs/pr-reviews/pr-2486-review/PR-REVIEW.md`: my audit record of the review bot's one finding on this round (F1, the pinning premise of my `project-automation-is-a-dependency` entry) and its fix, which states that premise as a concept.

  | Topic | Entry labels (comment number) |
  | --- | --- |
  | Q1 | `granularity-by-role` (C1) |
  | Q2 | `models-whose-content-survives` (C2) |
  | Q3 | `identifier-from-the-harness` (C3) |
  | Q4 | `precedent-key-acceptable` (C3) |
  | Q5 | `harness-configuration-is-the-source-of-truth` (C4) |
  | Q6 | `human-edits-need-no-correction` (C4) |
  | Q7 | `format-checkable-completeness-not` (C5) |
  | Q8 | `no-provider-default-trailers-meanwhile` (C6) |
  | Q9 | `legal-input-parked` (C7) |
  | Q10 | `enumeration-has-no-boundary` (A1), `acceptance-is-the-choice` (A2), `personal-toolchains-are-private` (A3), `watermarks-mark-rendering-not-authorship` (A4), `regulation-targets-systems-acting-on-people` (A5) |
  | Q11 | `humans-author-and-certify` (B1), `tool-record-not-authorship` (B2), `scope-by-content-not-presence` (B3), `project-automation-is-a-dependency` (B4), `declared-not-detected` (B5), `provisional-and-regulation-independent` (B6) |

  ## Note for the maintainer

  Your adoption round moved the open questions into Topics Q1–Q9, so my round no longer carries topic texts of its own for them: each of my Q1–Q9 entries sits under your topic of the same number, in place of its placeholder, as the template intends for a topic's first position. Q10 and Q11 carry the premises and the proposed shape of the rule, which the nine questions do not cover.

  Nothing of your text is moved, copied or edited: your Context, your topic texts and the Outcome read as at `285938179`.

  Under the merge gate in `docs/discussions/AGENTS.md`, a contribution round merges on document quality (linters, factual claims about the repository, no edits to another participant's content or to the Outcome), not on agreement with its positions.

  ## Verification

  - Scope: against `develop` at `285938179`, the diff touches only the two files above. In the README, the only removed lines are the nine placeholders and the cspell ignore line, which returns with `tokenizer` added; a script that undoes the placements recovers your file byte for byte.
  - Entries: a script compared each of the eleven entries, from its heading through its "First posted as" line, with the branch before the rebase: all are byte-equal, and each `#####` heading sits under the `### Q<n>` of its number.
  - Verbatim text: before the rebase, a script extracted each labelled point from my comment, applied only the label substitutions (number labels to semantic labels in code form, "question N" to "QN") and compared the result with the README paragraph under the same label. Fifteen of the sixteen points rendered whole are identical; B4's opening sentence was revised afterwards for review finding F1 (the `project-automation-is-a-dependency` entry, authored 10:30 UTC on 2026-10-08, before the rebase onto the #2487 merge), so at the head that entry no longer matches the comment; for C3 and C4, split across Q3/Q4 and Q5/Q6, the only differences are the split titles and, for C3, its lead sentence repeated in both entries and its two-clause final sentence divided between them. Apart from the B4 revision, the entries are unchanged since.
  - Anchors and links: topic and entry anchors are unique; the eleven `#### Positions` headings repeat by the template's design and render as `positions` to `positions-10`. Every relative link and in-page anchor in the README resolves at the head; the comment URL on PR #2467 is external.
  - Gates at the head: pre-commit profile gate on the compute pod at this head, base `develop` `285938179`, exit 0 (76 s); `linter markdown`, `linter cspell`, `linter lychee` exit 0; `frontmatter-validator --all` with the same repository-wide counts as `develop` (19 errors, 4 warnings on unrelated specs, re-measured at `develop` in the same run); `validate-audit-record.py --pr-number 2486 --base 2859381` over the live review comments: 1 row, 7 log entries, 0 failures.

  ## After the maintainer's review

  Four commits follow the maintainer's review (5469325284); my audit record carries each finding.

  - `docs(discussions): [#2003] restate my automation-dependency reason and note the B4 revision`: for R1, the opening sentence of `project-automation-is-a-dependency` now gives the reason a project tracks what its automation uses rather than describing today's repository; for R2, the Q11 "First posted as" line notes that this entry revises `B4`'s opening sentence in this round (review findings F1 and R1). B4's opening sentence therefore now reads as the R1 text, not the comment's.
  - `docs(pr-reviews): [#2003] record the maintainer's review of PR #2486`: R1 and R2 fixed in the branch, R3 fixed in this description, R4 answered on its thread, R5 and R6 left for the reasons in their replies.
  - `docs(discussions): [#2003] state on each of my entries that AI assistance is not disclosed`: for R4, after the maintainer's follow-up on its thread, each of my eleven entries ends with the statement in his wording, "AI assistance not disclosed: the author's private tooling may include machine-learning tools."
  - `docs(pr-reviews): [#2003] record the AI-assistance statement as the fix for R4`: the R4 row and its detail block record the follow-up and the fix.

  ## Validation at the new head

  Gates at the heads: pre-commit profile gate on the compute pod at `c087841d2` (before the replies) and at `876dbf121` (with the reply URLs recorded), base `develop` `f960c78d7`, exit 0 (79 s and 77 s); `linter markdown`, `linter cspell`, `linter lychee` exit 0; `frontmatter-validator --all` with the same repository-wide counts as `develop` (19 errors, 4 warnings on unrelated specs, re-measured at `develop` in the same run); `validate-audit-record.py --pr-number 2486 --base f960c78` against the review comments captured after the replies were posted: 7 rows, 15 log entries, 0 failures (before the replies, the only failures were the five Reply URL fields then pending).

ACKs for top commit:
  josecelano:
    ACK 876dbf1

Tree-SHA512: 230344175395473e7093837ac5f123878ca42b4377ea9e4de88fa80137bfefbe798c4f165dd52227072eb5e105c31249880951db57d1530eee7bc7a5633f26ad
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants